package com.elastic.test.igenerator;

import com.elastic.util.MyDataSource;
import com.jfinal.kit.PathKit;
import com.jfinal.plugin.activerecord.dialect.MysqlDialect;
import com.jfinal.plugin.activerecord.generator.Generator;

/**
 * @author: 李德才
 * @description:
 * @create: 2021-04-11 15:30
 **/
public class MyGenerator {


    public static void main(String[] args) {
        // model 所使用的包名 (MappingKit 默认使用的包名)
        String modelPackageName = "com.elastic.model";

// base model 所使用的包名
        String baseModelPackageName = modelPackageName + ".base";

// base model 文件保存路径
        String baseModelOutputDir = PathKit.getWebRootPath() + "/src/main/java/" + baseModelPackageName.replace('.', '/');

// model 文件保存路径 (MappingKit 与 DataDictionary 文件默认保存路径)
        String modelOutputDir = baseModelOutputDir + "/..";
        System.out.println("输出路径：" + baseModelOutputDir);
        Generator gen = new Generator(MyDataSource.getDataSource(), baseModelPackageName, baseModelOutputDir, modelPackageName, modelOutputDir);
        gen.setGenerateRemarks(true);    // 在 getter、setter 方法上生成字段备注内容
        gen.setDialect(new MysqlDialect());
        gen.setGenerateChainSetter(true);
        gen.setGenerateDataDictionary(true);
        gen.setGenerateDaoInModel(true);
        gen.generate();
    }
}
